package com.cys.mybatis.plugin;

import java.util.Properties;

/**
 * @Author: cys
 * @description:拦截器接口
 * @CreateTime: 2024-11-07  21:28
 * @Version: 1.0
 */
public interface Interceptor {

    // 拦截，由使用方进行具体实现
    Object intercept(Invocation invocation) throws Throwable;

    // 返回代理对象
    default Object plugin(Object target) {
        return Plugin.wrap(target, this);
    }

    // 设置属性
    default void setProperties(Properties properties) {
        // NOP
    }
}
